从文件系统加载图像

您可以从 Kanzi Studio 中的图像创建纹理,或在 Kanzi 应用程序中从运行该应用程序的设备文件系统加载或使用图像。

要从文件系统加载图像:

  1. Kanzi Studio 中使用应用程序 (Application) 模板创建工程。
  2. 工程 (Project) 中,创建要显示纹理的节点,在 属性 (Properties) 中将 材质 (Material) 属性设置为支持纹理的材质。请参阅使用材质类型使用材质
    例如,在 工程 (Project) 中创建方框 (Box) 节点并在 属性 (Properties) 中将 材质 (Material) 设置为 VertexPhongTexturedMaterial
  3. 工程 (Project) 中选择您在上一步中创建的节点,在属性 (Properties) 中添加纹理 (Texture) 属性,并将其设置为资源 ID。
    例如,将 纹理 (Texture) 属性设为资源 ID BoxTexture
    这样即可分配稍后用于显示纹理的资源 ID 到 纹理 (Texture) 属性。
  4. 工程 (Project)按下 Alt 并右键点击 您创建的节点并选择别名 (Alias)。请参阅使用别名
    Kanzi Studio 会创建一个别名(它指向您从中创建该别名的节点),并将该别名添加到它的含资源字典的最近祖先节点的资源字典中。
    使用别名 (Alias) 实现对 Kanzi 节点的一致访问。您可以使用别名在 Kanzi StudioKanzi Engine API 或脚本中访问节点。
  5. Kanzi Studio 中选择文件 (File) > 导出 (Export) > 导出 KZB (Export KZB)
    Kanzi StudioKanzi Studio 工程创建 kzb 文件和配置文件。Kanzi Studio 将导出的文件存储在 <ProjectName>/Application/bin 目录或您在 工程 (Project) > 属性 (Properties)二进制导出目录 (Binary Export Directory) 属性中指定的位置。Kzb 文件包含 Kanzi Studio 工程中的所有节点和资源,您在本地化表中标记为本地化包的资源除外。
    当您从 Visual Studio 中运行您的 Kanzi 应用程序时,您的应用程序就会加载 kzb 文件和配置文件。
  6. 将要在 纹理中使用的图像放到 <ProjectName>/Application/bin
  7. 在 Visual Studio 中,为您的应用程序打开位于 Application/configs/platforms/win32 的 Visual Studio 解决方案。 在 C++ 应用程序中,加载纹理。
    //在应用程序主要类中,使用 onProjectLoaded()
    //虚拟函数从文件系统加载文件。
    virtual void onProjectLoaded()
    {
        //获得应用程序的 屏幕 (Screen) 节点。
        ScreenSharedPtr screenNode = getScreen();
        //获得使用 #Box 别名的 方框 (Box) 节点。
        Model3DSharedPtr box = screenNode->lookupNode<Model3D>("#Box");
        //从 <ProjectName>/Application/bin 目录加载纹理。
        box->addResource(ResourceID("BoxTexture"), "file://./Red.png");
    }
  8. 在 Visual Studio 中,为您的 Visual Studio 版本选择一个解决方案配置并运行应用程序。
    例如,如果您仍在开发应用程序,选择GL_vs2015_Debug 配置。要创建 Kanzi 应用程序的产品版本,选择一个可用的发布配置。

    启动应用程序时,Kanzi 加载存储在 <KanziWorkspace>/Projects/<ProjectName>/Application/bin 中的图像,并从图像创建纹理。当 Kanzi 加载应用程序 kzb 文件时,它将纹理设置到您在 onProjectLoaded 函数中获得的节点。

另请参阅

纹理

使用材质类型

使用材质

使用别名

使用 kzb 文件

API reference